package com.controleFamiliar.pojo;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

@Entity
@Table(name="tb_receita")
public class Receita implements Serializable{

	private static final long serialVersionUID = 1L;
	
	private Integer codReceita;
	private Double valor;
	private FontePagadora codFontePagadora;
	private Date dataRecebimento;
	private String declaravel;
	
	private Integer codUsuario;
	
	@Id
	@Column(name="codreceita", nullable=false)
	@SequenceGenerator(name="receita_sequence", initialValue=1, allocationSize=1, sequenceName="tb_receita_codreceita_seq")
	@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="receita_sequence")
	public Integer getCodReceita() {
		return codReceita;
	}
	
	@Column(name="valor", nullable=false)
	public Double getValor() {
		return valor;
	}
	
	@ManyToOne(fetch=FetchType.LAZY)
	@JoinColumn(name="codfontepagadora", referencedColumnName="codfontepagadora")
	public FontePagadora getCodFontePagadora() {
		return codFontePagadora;
	}
	
	@Column(name="datarecebimento", nullable=false)
	public Date getDataRecebimento() {
		return dataRecebimento;
	}
	
	@Column(name="declaravel", nullable=false)
	public String getDeclaravel() {
		return declaravel;
	}	
	
	@Column(name="codusuario", nullable=false)
	public Integer getCodUsuario() {
		return codUsuario;
	}

	public void setCodUsuario(Integer codUsuario) {
		this.codUsuario = codUsuario;
	}

	public void setCodReceita(Integer codReceita) {
		this.codReceita = codReceita;
	}
	public void setValor(Double valor) {
		this.valor = valor;
	}
	public void setCodFontePagadora(FontePagadora codFontePagadora) {
		this.codFontePagadora = codFontePagadora;
	}
	public void setDataRecebimento(Date dataRecebimento) {
		this.dataRecebimento = dataRecebimento;
	}
	public void setDeclaravel(String declaravel) {
		this.declaravel = declaravel;
	}	
	
}
